package com.ecfront.service;

import java.util.List;

import com.ecfront.exception.UserException;
import com.ecfront.pojo.User;


public interface UserService {
	/**
	 * 增加一个新用户
	 * @param username 所需用户名
	 * @param email 所需email
	 * @param loginPwd 所需登陆密码
	 * @param payPwd 所需支付密码
	 * @param question 所需问题
	 * @param answer 所需答案
	 * @param address 所需地址
	 */
	public void addUser(String username,String email,String loginPwd,
			String payPwd,String question,String answer)throws UserException;
	/**
	 * 判断登录是否成功
	 * @param userOrEmail 所需用户名或密码
	 * @param loginPwd 所需登录密码
	 * @param isLock 用户是否上锁
	 * @return 登录成功返回true，失败返回false
	 */
	public boolean findUserByNameOrEmailAndPassAndLock(String userOrEmail,
			String loginPwd,int isLock);
	/**
	 * 判断该用户名是否已经存在
	 * @param name 要判断的用户名
	 * @return true为存在，false为不存在
	 */
	public boolean findUserByName(String name);
	/**
	 * 判断该Eamil地址是否已经存在
	 * @param name 要判断的Eamil地址
	 * @return true为存在，false为不存在
	 */
	public boolean findUserByEmail(String email);
	/**
	 * 修改登录密码
	 * @param userId 需修改的用户ID
	 * @param oldPassword 需修改的旧密码
	 * @param newPassword 新的密码
	 * @throws UserException
	 */
	public boolean modifLoginPassword(int userId,String oldPassword,String newPassword) throws UserException;
	/**
	 * 修改支付密码
	 * @param userId 需修改的用户ID
	 * @param oldPassword 需修改的旧密码
	 * @param newPassword 新的密码
	 * @throws UserException
	 */
	public boolean modifPayPassword(int userId,String oldPassword,String newPassword) throws UserException;
	/**
	 * 根据回答返回当前用户的登录密码
	 * @param userId 需返回密码的用户
	 * @param answer 返回密码所需的答案
	 * @return 返回所需密码
	 */
	public String getLoginPwdByAnswer(int userId,String answer) throws UserException;
	/**
	 * 根据回答返回当前用户的支付密码
	 * @param userId 需返回密码的用户
	 * @param answer 返回密码所需的答案
	 * @return 返回所需密码
	 */
	public String getPayPwdByAnswer(int userId,String answer) throws UserException;	
	
}
